public class Briber implements Comparable<Briber> {
	private String firstName;
	private String lastName;
	private int bribe;

	public Briber(String inFirstName, String inLastName, int inBribe) {
		firstName = inFirstName;
		lastName = inLastName;
		bribe = inBribe;
	}

	public void addToBribe(int additionalAmount) {
		if(additionalAmount < 0) {
			return;
		}
		
		bribe += additionalAmount;
	}
	
	public String getFirstName() {
		return firstName;
	}
	
	public String getLastName() {
		return lastName;
	}

	@Override
	public boolean equals(Object what) {
		Briber other = (Briber) what;
		
		if( ! lastName.equals(other.lastName)) {
			return false;
		}
		
		if( ! firstName.equals(other.firstName)) {
			return false;
		}
		
		return true;
	}

	@Override
	public int compareTo(Briber other) {
		int difference = bribe - other.bribe;
		if(difference != 0) {
			return difference;
		}
		
		difference = firstName.compareTo(other.firstName);
		
		if(difference != 0) {
			return difference;
		}
		
		difference = lastName.compareTo(other.lastName);

		return difference;
	}

	public int getBribe() {
		return bribe;
	}

	@Override
	public String toString() {
		String result = "";
		
		result += "firstName: " + firstName;
		result += "bribe: " + bribe;
		
		return result;
	}
}
